home *** CD-ROM | disk | FTP | other *** search
- Patch to let you specify an alternate mixer for people
- with more than one mixer. Typical example might be
- xmix -device /dev/mixer1 -title 'Sound Blaster 16'
- If not specified, it works normally.
- Andrew <drewvel@eideti.com>
-
- --- ../xmix.orig/xmix.c Sat May 28 00:50:53 1994
- +++ xmix.c Wed May 3 21:58:44 1995
- @@ -456,8 +456,29 @@
- int scroll_sep, longway;
- Widget version;
- int supported;
- + char mixer_name[32];
-
- - longway = (argc > 1 && strcmp(argv[1],"-l") == 0);
- + {
- + int i;
- +
- + longway=0;
- + strcpy(mixer_name, "/dev/mixer");
- +
- + i=1;
- + while (i<argc) {
- + if (strcmp(argv[i],"-l")==0) longway=1;
- +
- + if (strcmp(argv[i],"-device")==0) {
- + i++;
- + if (i>=argc) {
- + fprintf(stderr, "Error: no device specified\n");
- + exit(1);
- + }
- + strcpy(mixer_name, argv[i]);
- + }
- + i++;
- + };
- + }
-
- topLevel = XtVaAppInitialize (&app_context,
- "XMix", /* Application class */
- @@ -465,7 +486,8 @@
- &argc, argv, /* command line args */
- NULL, /* for missing app-defaults file */
- NULL); /* terminate varargs list */
- -
- +
- +
- whole = MW ("whole", formWidgetClass, topLevel, NULL);
-
- sliders = MW ("sliders", formWidgetClass, whole, NULL);
- @@ -689,9 +711,12 @@
- install_pixmaps ();
-
- /* Open the mixer device */
- - mixer_fd = open ("/dev/mixer", O_RDWR, 0);
- - if (mixer_fd < 0)
- - perror ("Error opening mixer device"), exit (1);
- + mixer_fd = open (mixer_name, O_RDWR, 0);
- + if (mixer_fd < 0) {
- + char msg[32];
- + sprintf(msg, "Error opening mixer device %s", mixer_name);
- + perror (msg), exit (1);
- + }
-
-
- if (ioctl(mixer_fd, SOUND_MIXER_READ_DEVMASK, &supported) == -1)
-